﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;


namespace WpfApplicationWithGrid
{
    class Parameter : Wrapper
    {
        //tab 1 variables
        private ArrayList inputStream;
        private double updateFreq;
        private int timeDuration;

        //tab 2 variables
        private int cacheSize;
        private string cacheMethod;
        
        //old
        //private bool[] cacheCont;

        private int hist;
        private int stock_25;
        private int realtime;


        
        private static Parameter parameter = null;
        private Parameter()
        {
            inputStream = new ArrayList();
            inputStream.Add("AAA");
            inputStream.Add("BBB");
            updateFreq = 1;
            timeDuration = 300;

            cacheSize = 5;
            cacheMethod = "Select One";
            //cacheCont = new bool[3] { false, false, false };
            hist = -1;
            stock_25 = -1;
            realtime = -1;
 
            
        }
        public int Hist { get; set; }
        public int Stock_25 { get; set; }
        public int Realtime { get; set; }
        public static Parameter getParameter()
        {
            if (parameter == null) parameter = new Parameter();
            return parameter;
        }


        //tab 1 GET/SET methods
        public ArrayList InputStream
        {
            get
            { return this.inputStream; }

            set
            { this.inputStream = value; }
        }

        public double UpdateFreq
        {
            get
            { return this.updateFreq; }

            set
            { this.updateFreq = value; }
        }

        public int TimeDuration
        {
            get
            { return this.timeDuration; }

            set
            { this.timeDuration = value; }
        }


        //tab 2 GET/SET methods
        public int CacheSize
        {
            get
            { return this.cacheSize; }

            set
            { this.cacheSize = value; }
        }

        public string CacheMethod
        {
            get
            { return this.cacheMethod; }

            set
            { 
                this.cacheMethod = value;
            }
       }
      

    }
}
